CosyOS-III API 用户参考手册
1.0.2
首页
模块
文件
文件列表
全局定义
E:
Keil Projects
book
ur_api.h
浏览该文件的文档.
1
/**************************************************************************/
11
#ifndef __UR_API_H
12
#define __UR_API_H
13
91
/**************************************************************************/
109
#define uExternTask(task) \
110
sCSV_ExternTask(task)
111
117
#define dExternTask(task) \
118
dCSV_ExternTask(task)
119
139
#define uCreateTask(task, pri, tss, srt, res) \
140
sCSV_CreateTask(task, pri, tss, srt, res)
141
152
#define dCreateTask(task, pri, tss, srt, res) \
153
dCSV_CreateTask(task, pri, tss, srt, res)
154
167
#define uCreateTask_TimInt(tmid, arl, task, pri, tss, srt, res) \
168
sCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, res)
169
182
#define dCreateTask_TimInt(tmid, arl, task, pri, tss, srt, res) \
183
dCSV_CreateTask_TimInt(tmid, arl, task, pri, tss, srt, res)
184
198
#define uCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, res) \
199
sCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, res)
200
214
#define dCreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, res) \
215
dCSV_CreateTask_TimQry(tmid, event, arl, task, pri, tss, srt, res)
216
241
#define uStartTask(task, status) \
242
sUSV_StartTask(&u_taskhand_##task, status)
243
254
#define uStartTask_Ready(task) \
255
uStartTask(task, OS_STATUS_READY)
256
267
#define uStartTask_Suspend(task) \
268
uStartTask(task, OS_STATUS_SUSPENDED)
269
288
#define tClearDelay sTSV_ClearDelay
289
303
#define uResumeTask(task) \
304
sUSV_ResumeTask(u_taskhandle_##task)
305
319
#define uSuspendTask(task) \
320
sUSV_SuspendTask(u_taskhandle_##task)
321
333
#define uDeleteTask(task) \
334
sUSV_DeleteTask(u_taskhandle_##task)
335
350
#define uSetTaskPri(task, npri) \
351
sUSV_SetTaskPri(u_taskhandle_##task, npri)
352
366
#define uClearBlock(task) \
367
sUSV_ClearBlock(u_taskhandle_##task)
368
394
#define uSetBlock_tc(task, tc) sUSV_SetBlock(u_taskhandle_##task, tc)
395
410
#define uSetBlock_ms(task, ms) uSetBlock_tc(task, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
411
426
#define uSetBlock_s(task, s) uSetBlock_ms(task, 1000UL * (s))
427
442
#define uSetBlock_m(task, m) uSetBlock_s(task, 60UL * (m))
443
458
#define uSetBlock_h(task, h) uSetBlock_m(task, 60UL * (h))
459
477
#define uYieldTasking su_yield_tasking()
478
486
#define uSetTaskingPri(npri) sUSV_SetTaskPri(s_task_current, npri)
487
493
#define uSuspendTasking sUSV_SuspendTask(s_task_current)
494
500
#define uDeleteTasking sUSV_DeleteTask(s_task_current)
501
512
#define uResumeSuspend(task) sUSV_ResumeSuspend(u_taskhandle_##task)
513
534
#define uDelay_tc(tc) sUSV_Delay(tc)
535
541
#define uDelay_ms(ms) uDelay_tc((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
542
548
#define uDelay_s(s) uDelay_ms(1000UL * (s))
549
555
#define uDelay_m(m) uDelay_s(60UL * (m))
556
562
#define uDelay_h(h) uDelay_m(60UL * (h))
563
566
/**************************************************************************/
585
#define uCreateHook_TimInt(tmid, arl, hook) \
586
sCSV_CreateHook_TimInt(tmid, arl, hook)
587
597
#define uTimInt_tc(tmid, tc) sUSV_TimInt(tmid, tc)
598
608
#define uTimInt_ms(tmid, ms) uTimInt_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
609
619
#define uTimInt_s(tmid, s) uTimInt_ms(tmid, 1000UL * (s))
620
630
#define uTimInt_m(tmid, m) uTimInt_s(tmid, 60UL * (m))
631
641
#define uTimInt_h(tmid, h) uTimInt_m(tmid, 60UL * (h))
642
651
#define uTimInt_Cancel(tmid) uTimInt_tc(tmid, 0)
652
661
#define xTimInt_AutoReload(tmid, arl) s_timint_autoreload[tmid] = arl
662
665
/**************************************************************************/
686
#define uCreateHook_TimQry(tmid, event, arl, hook) \
687
sCSV_CreateHook_TimQry(tmid, event, arl, hook)
688
698
#define uTimQry_tc(tmid, tc) sUSV_TimQry(tmid, tc)
699
709
#define uTimQry_ms(tmid, ms) uTimQry_tc(tmid, (1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
710
720
#define uTimQry_s(tmid, s) uTimQry_ms(tmid, 1000UL * (s))
721
731
#define uTimQry_m(tmid, m) uTimQry_s(tmid, 60UL * (m))
732
742
#define uTimQry_h(tmid, h) uTimQry_m(tmid, 60UL * (h))
743
752
#define uTimQry_Cancel(tmid) uTimQry_tc(tmid, ~0)
753
762
#define xTimQry_AutoReload(tmid, arl) s_timqry_autoreload[tmid] = arl
763
766
/**************************************************************************/
781
#define uExternMut(mut) sCSV_ExternMut(mut)
782
789
#define uCreateMut(mut) sCSV_CreateMut(mut)
790
804
#define uTakeMut(mut, tc) sUSV_TakeMut(mut, tc)
805
811
#define uBackMut(mut) sUSV_BackMut(mut)
812
815
/**************************************************************************/
827
#define uExternBin(bin) sCSV_ExternBin(bin)
828
837
#define uCreateBin(bin, init) sCSV_CreateBin(bin, init)
838
849
#define uLockBin(bin) bin.binary = false
850
863
#define uWaitBin(bin, tc) sUSV_WaitBin(bin, tc)
864
875
#define uGiveBin(bin) sUSV_GiveBin(bin)
876
894
#define uTakeBin(bin, tc) sUSV_TakeBin(bin, tc)
895
905
#define uBackBin(bin) uGiveBin(bin)
906
909
/**************************************************************************/
921
#define uExternSem(sem) sCSV_ExternSem(sem)
922
930
#define uCreateSem(sem, init, max) sCSV_CreateSem(sem, init, max)
931
940
#define uGiveSem(sem) sUSV_GiveSem(sem)
941
957
#define uTakeSem(sem, tc) sUSV_TakeSem(sem, tc)
958
966
#define uBackSem(sem) uGiveSem(sem)
967
970
/**************************************************************************/
991
#define uExternTionbox(tbox) sCSV_ExternTionbox(tbox)
992
998
#define uCreateTionbox(tbox) sCSV_CreateTionbox(tbox)
999
1017
#define uRecvFetion(tbox, tc) sUSV_RecvFetion(tbox, tc)
1018
1032
#define uSendFetion(tbox, tion) sUSV_SendFetion(tbox, tion)
1033
1036
/**************************************************************************/
1048
#define uExternMailbox(mbox) sCSV_ExternMailbox(mbox)
1049
1055
#define uCreateMailbox(mbox) sCSV_CreateMailbox(mbox)
1056
1070
#define uRecvMail(mbox, tc) sUSV_RecvMail(mbox, tc)
1071
1081
#define uSendMail(mbox, mail) sUSV_SendMail(mbox, mail)
1082
1085
/**************************************************************************/
1101
#define uExternQueue_Static(que) sCSV_ExternQueue_Static(que)
1102
1108
#define uExternQueue_Dynamic(que) sCSV_ExternQueue_Dynamic(que)
1109
1119
#define uCreateQueue_Static(que, mode, len) sCSV_CreateQueue_Static(que, mode, len)
1120
1130
#define uCreateQueue_Dynamic(que, mode, len) sCSV_CreateQueue_Dynamic(que, mode, len)
1131
1146
#define uRecvMsg(que, tc) sUSV_RecvMsg(que, tc)
1147
1161
#define uSendMsg(que, msg) sUSV_SendMsg(que, msg)
1162
1165
/**************************************************************************/
1184
#define uExternFlagGroup(group, bits) sCSV_ExternFlagGroup(group, bits)
1185
1191
#define uDefFlagBit(bit) sDefBitField(bit)
1192
1198
#define uDefVoidBits(nvb) sDefVoidBits(nvb)
1199
1206
#define uCreateFlagGroup(group) sCSV_CreateFlagGroup(group)
1207
1220
#define uWaitFlagGroup(group, tc) sUSV_WaitFlagGroup(group, tc)
1221
1232
#define uQueryFlagGroup(group) sUSV_QueryFlagGroup(group)
1233
1242
#define uClearFlagGroup(group) sUSV_ClearFlagGroup(group)
1243
1253
#define uSetFlagBit(group, bit) uSetFlagBits(group, 1) bit)
1254
1264
#define uClearFlagBit(group, bit) uClearFlagBits(group, 1) bit)
1265
1276
#define uSetFlagBits(group, nbit) sUSV_WriteFlagBits(group, true, nbit)
1277
1288
#define uClearFlagBits(group, nbit) sUSV_WriteFlagBits(group, false, nbit)
1289
1292
/**************************************************************************/
1305
#define xUpdateCopy(code) sUpdateCopy(code)
1306
1313
#define iWhichGVar_Read s_sign_updatecopy
1314
1321
#define iWriteGVar(gv, lv) sPSV_WriteGVar((void *)&gv, (void *)&lv, sizeof(gv))
1322
1330
#define iWriteGAry(gp, lp, size) sPSV_WriteGVar(gp, lp, size)
1331
1338
#define iWriteGStr(gs, ls) sPSV_WriteGVar(gs, ls, 0)
1339
1345
#define iPendSVC(fp) sPSV_PendSVC(fp)
1346
1352
#define iSendSign(sign) sPSV_SendSign(sign)
1353
1356
/**************************************************************************/
1372
#define uGetTime(t) sUSV_GetTime(t)
1373
1382
#define uSetTime(t) sUSV_SetTime(t)
1383
1386
/**************************************************************************/
1406
#define uMalloc(size) sUSV_Malloc(size)
1407
1416
#define uCalloc(nmemb, size) sUSV_Calloc(nmemb, size)
1417
1426
#define uRealloc(p, size) sUSV_Realloc(p, size)
1427
1433
#define uFree(p) sUSV_Free(p)
1434
1452
#define uCreateMempool sCSV_CreateMempool
1453
1462
#define uInitMempool(size) sUSV_InitMempool(size)
1463
1471
#define uTalloc(size) sUSV_Talloc(size)
1472
1476
#define uFreeMempool sUSV_FreeMempool
1477
1480
/**************************************************************************/
1504
#define uScheduleLock su_schedule_lock()
1505
1510
#define uScheduleUnlock su_schedule_unlock()
1511
1537
#define uKernelLock su_kernel_lock()
1538
1543
#define uKernelUnlock su_kernel_unlock()
1544
1556
#if MCUCFG_ISA != __ARM__
1557
1568
#define xDisableIRQ mxDisableIRQ
1569
1574
#define xResumeIRQ mxResumeIRQ
1575
1577
#else
1578
1589
#define xDisableIRQ mxDisableIRQ
1590
1596
#define xResumeIRQ(oirq) mxResumeIRQ(oirq)
1597
1619
#define xMaskingPRI(npri) mxMaskingPRI(npri)
1620
1626
#define xResumePRI(opri) mxResumePRI(opri)
1627
1629
#endif
1630
1632
/**************************************************************************/
1688
#define iDebugSend s_sign_debug_send = true
1689
#define iDebugRecv s_sign_debug_recv = true
1690
1705
#define xTick_ms(ms) ((1000UL * (ms)) / SYSCFG_SYSTICKCYCLE)
1706
1712
#define xTick_s(s) xTick_ms(1000UL * (s))
1713
1719
#define xTick_m(m) xTick_s(60UL * (m))
1720
1726
#define xTick_h(h) xTick_m(60UL * (h))
1727
1739
#define iPendSV_Set mPendSV_Set
1740
1746
#endif
制作者
1.8.10